#ifndef __TASK_MANAGER_H
#define __TASK_MANAGER_H

#include <stdint.h>   

#include "bsp_board.h"

#include "FreeRTOS.h"
#include "task.h"

// 任务堆栈大小
#define TASK_MISC_STK_SIZE 256
#define TASK_LORA_RX_STK_SIZE 512
#define TASK_LORA_TX_STK_SIZE 512
#define TASK_SCAN_RX_STK_SIZE 512
#define TASK_SCAN_TX_STK_SIZE 512
#define TASK_4G_STK_SIZE 512
#define TASK_NET_SIZE 512

// 任务优先级(越大越高)
#define TAST_MISC_PRIO		1
#define TASK_4G_PRIO		6
#define TASK_LORA_RX_PRIO		10
#define TASK_LORA_TX_PRIO		11
#define TASK_SCAN_RX_PRIO		9
#define TASK_SCAN_TX_PRIO		8
#define TASK_NET_PRIO		7

extern void start_task(void);

extern void task_rx_lora(void *pvParameters);
extern void task_tx_lora(void *pvParameters);

extern void task_rx_scan(void *pvParameters);
extern void task_tx_scan(void *pvParameters);

extern void task_misc(void *pvParameters);
extern void task_net(void *pvParameters);


#endif



